package com.code.model.vo.az;

import com.code.AZPlan.model.bo.UserRelativeVersionBO;
import com.code.AZPlan.model.po.AZPlanBalance;
import com.code.commons.model.Model;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.AllArgsConstructor;
import lombok.Builder;
import lombok.Data;
import lombok.NoArgsConstructor;

import java.math.BigDecimal;
import java.util.List;

/**
 * AZ资产相关的VO
 *
 * @author tangyifei
 * @since 2019年12月25日19:33:27
 */
@ApiModel("AZ资产相关的VO")
@Data
@Builder
@NoArgsConstructor
@AllArgsConstructor
public class AzAssetVO implements Model {

    private static final long serialVersionUID = 1517900712444256731L;

    @ApiModelProperty(value = "总收益", example = "1")
    private BigDecimal totalIncomeAmount;

    @ApiModelProperty(value = "总的XWC金额", example = "1")
    private BigDecimal totalXWCAmount;

    @ApiModelProperty(value = "总的BTC金额", example = "1")
    private BigDecimal totalBTCAmount;

    @ApiModelProperty(value = "总的XWC兑换的USD数量", example = "1")
    private BigDecimal totalUSDAmountForXWC;

    @ApiModelProperty(value = "总的BTC兑换的USD数量", example = "1")
    private BigDecimal totalUSDAmountForBTC;

    @ApiModelProperty(value = "总的USD数量", example = "1")
    private BigDecimal totalUSDAmount;

    @ApiModelProperty(value = "XWC兑换USD比例", example = "")
    private BigDecimal xwcExchangeUSDRatio;

    @ApiModelProperty(value = "BTC兑换USD比例", example = "")
    private BigDecimal btcExchangeUSDRatio;

    @ApiModelProperty(value = "XWC的AZ计划钱包的版本号", example = "1")
    private Integer xwcAZPlanWalletVersion;

    @ApiModelProperty(value = "BTC的AZ计划钱包的版本号", example = "1")
    private Integer btcAZPlanWalletVersion;

    @ApiModelProperty(value = "当前用户钱包的版本号", example = "1")
    private Integer userCoinBalanceVersion;

    @ApiModelProperty(value = "资金划转相关的版本号", example = "1")
    private Integer moneyTransferVersion;

    @ApiModelProperty(value = "当前用户所属推荐人相关的版本号", example = "1")
    private List<UserRelativeVersionBO> recommenderRelativeVersionBOList;

    @ApiModelProperty(value = "所有用户的矿池版本号", example = "1")
    private List<AZPlanBalance> userOrePoolVersionList;
}
